import { EChartsOption } from 'echarts'
import { useI18n } from '@/hooks/web/useI18n'
const { t } = useI18n()
export const lineOptions: EChartsOption = {
  title: {
    text: '',
    left: 'center'
  },
  xAxis: {
    data: [],
    boundaryGap: false,
    axisTick: {
      show: false
    }
  },
  grid: {
    left: 20,
    right: 20,
    bottom: 20,
    top: 80,
    containLabel: true
  },
  tooltip: {
    trigger: 'axis',
    axisPointer: {
      type: 'cross'
    },
    padding: [5, 10]
  },
  dataZoom: [
    {
      height: 15, //时间滚动条的高度
      type: 'slider', //type的作用是指定数据缩放的类型，slider表示使用滑动条进行缩放，inside表示使用鼠标滚轮进行缩放。
      xAxisIndex: 0, //作用在x轴的下标（因为x轴可以有多个）
      filterMode: 'filter', //间滚动条的过滤模式,'filter'表示滑动时间条时会直接过滤掉不在时间范围内的数据，'weakFilter'表示滑动时间条时会逐渐过滤掉不在时间范围内的数据。
      start: 0, //默认开始位置（百分比）
      end: 30, //默认结束位置（百分比）
      bottom: '0%',
      brushSelect: false,
      zoomOnMouseWheel: true
      // minValueSpan: 7,  // 最小显示7天
      // maxValueSpan: 30  // 最大显示30天
    },
    {
      type: 'inside',
      xAxisIndex: 0,
      zoomOnMouseWheel: true, // 明确启用滚轮缩放
      moveOnMouseMove: true,
      preventDefaultMouseMove: true
    }
  ],
  yAxis: {
    axisTick: {
      show: false
    }
  },
  legend: {
    data: [],
    top: 10
  },
  series: []
}
export const Gas30DayOptions: EChartsOption = {
  title: {
    text: '',
    left: 'center'
  },
  xAxis: {
    type: 'category', // 必须明确类型
    boundaryGap: false, // 消除日期间隙
    data: [],
    axisLabel: {
      // formatter: (value: string) => dayjs(value).format('MM-DD'),
      // interval: Math.ceil(processedData.dates.length / 7) // 智能显示标签
    }
  },
  grid: {
    left: 20,
    right: 20,
    bottom: 20,
    top: 80,
    containLabel: true
  },
  tooltip: {
    trigger: 'axis',
    axisPointer: {
      type: 'cross'
    },
    padding: [5, 10]
  },
  yAxis: {
    axisTick: {
      show: false
    }
  },
  dataZoom: [
    {
      height: 15, //时间滚动条的高度
      type: 'slider', //type的作用是指定数据缩放的类型，slider表示使用滑动条进行缩放，inside表示使用鼠标滚轮进行缩放。
      xAxisIndex: 0, //作用在x轴的下标（因为x轴可以有多个）
      filterMode: 'filter', //间滚动条的过滤模式,'filter'表示滑动时间条时会直接过滤掉不在时间范围内的数据，'weakFilter'表示滑动时间条时会逐渐过滤掉不在时间范围内的数据。
      start: 0, //默认开始位置（百分比）
      end: 30, //默认结束位置（百分比）
      bottom: '0%',
      brushSelect: false,
      zoomOnMouseWheel: true,
      minValueSpan: 7, // 最小显示7天
      maxValueSpan: 30 // 最大显示30天
    },
    {
      type: 'inside',
      xAxisIndex: 0,
      zoomOnMouseWheel: true, // 明确启用滚轮缩放
      moveOnMouseMove: true,
      preventDefaultMouseMove: true
    }
  ],
  legend: {
    data: [],
    top: 50
  },
  series: []
}
export const FlowmeterColumn = (devName: string) => {
  return [
    {
      field: 'devName',
      label: `设备`,
      formatter: (_: Recordable, __: any, _cellValue: number) => {
        return t(devName)
      }
    },
    {
      field: 'SampleTime',
      label: `时间`
    },
    {
      field: 'pressure',
      label: `压力（Kpa）`
    },
    {
      field: 'temperature',
      label: `温度（℃）`
    },
    {
      field: 'scn',
      label: `标况瞬时（m³/h）`
    },
    {
      field: 'wcn',
      label: `工况瞬时（m³/h）`
    },
    {
      field: 'sumSCN',
      label: `标况累计（m³）`
    },
    {
      field: 'sumWCN',
      label: `工况累计（m³）`
    }
  ]
}
export const TransmitterColumn = (devName: string) => {
  return [
    {
      field: 'devName',
      label: `设备`,
      formatter: (_: Recordable, __: any, _cellValue: number) => {
        return t(devName)
      }
    },
    {
      field: 'SampleTime',
      label: `时间`
    },
    {
      field: 'pressure',
      label: `压力（Kpa）`
    }
  ]
}
export const FlowmeterOption = () => {
  return [
    {
      value: 1,
      label: '压力'
    },
    {
      value: 2,
      label: '温度'
    },
    {
      value: 3,
      label: '标况瞬时'
    },
    {
      value: 4,
      label: '工况瞬时'
    }
  ]
}
export const TransmitterOption = () => {
  return [
    {
      value: 1,
      label: '压力'
    }
  ]
}
export const HistoryOptions: EChartsOption = {
  title: {
    text: '',
    left: 'center'
  },
  xAxis: {
    type: 'category', // 必须明确类型
    boundaryGap: false, // 消除日期间隙
    data: [],
    axisLabel: {
      // formatter: (value: string) => dayjs(value).format('MM-DD'),
      // interval: Math.ceil(processedData.dates.length / 7) // 智能显示标签
    }
  },
  grid: {
    left: 20,
    right: 20,
    bottom: 20,
    top: 80,
    containLabel: true
  },
  tooltip: {
    trigger: 'axis',
    axisPointer: {
      type: 'cross'
    },
    padding: [5, 10]
  },
  yAxis: {
    axisTick: {
      show: false
    }
  },
  dataZoom: [
    {
      height: 15, //时间滚动条的高度
      type: 'slider', //type的作用是指定数据缩放的类型，slider表示使用滑动条进行缩放，inside表示使用鼠标滚轮进行缩放。
      xAxisIndex: 0, //作用在x轴的下标（因为x轴可以有多个）
      filterMode: 'filter', //间滚动条的过滤模式,'filter'表示滑动时间条时会直接过滤掉不在时间范围内的数据，'weakFilter'表示滑动时间条时会逐渐过滤掉不在时间范围内的数据。
      start: 0, //默认开始位置（百分比）
      end: 100, //默认结束位置（百分比）
      bottom: '0%',
      brushSelect: false,
      zoomOnMouseWheel: true
      // minValueSpan: 7,  // 最小显示7天
      // maxValueSpan: 30  // 最大显示30天
    },
    {
      type: 'inside',
      xAxisIndex: 0,
      zoomOnMouseWheel: true, // 明确启用滚轮缩放
      moveOnMouseMove: true,
      preventDefaultMouseMove: true
    }
  ],
  legend: {
    data: [],
    top: 30
  },
  series: []
}
export const AlertAffect = () => {
  return [
    {
      value: 1,
      label: '压力'
    },
    {
      value: 2,
      label: '温度'
    },
    {
      value: 3,
      label: '标况瞬时'
    },
    {
      value: 4,
      label: '工况瞬时'
    },
    {
      value: 5,
      label: '标况累计'
    },
    {
      value: 6,
      label: '工况累计'
    }
  ]
}
